#include <iostream>
#include "functional"
#include "vector"
#include "algorithm"

using namespace std;

/*
 * 内建函数对象   STL内建了一些函数对象    需要引入头文件 functional
 *      算数仿函数
 *          实现四则运算
 *          template<class T> T plus<T>         加法仿函数
 *          template<class T> T minus<T>         减法仿函数
 *          template<class T> T multiplies<T>         乘法仿函数
 *          template<class T> T divides<T>         除法仿函数
 *          template<class T> T modules<T>         取模仿函数
 *          template<class T> T negateT>         取反仿函数
 *          其中只有negate为一元运算，其余皆为二元运算
 *      关系仿函数
 *          实现关系对比
 *          template<class T> bool equal_to<T>      等于
 *          template<class T> bool not_equal_to<T>      不等于
 *          template<class T> bool greater<T>      大于
 *          template<class T> bool greater_equal<T>      大于等于
 *          template<class T> bool less<T>      小于
 *          template<class T> bool less_equal<T>      小于等于
 *      逻辑仿函数
 *          template<class T> bool logical_and<T>  逻辑与
 *          template<class T> bool logical_or<T>  逻辑或
 *          template<class T> bool logical_not<T>  逻辑非
 */

void test01(){
    vector<int> v;
    plus<int> p;
    p(10, 1);

    sort(v.begin(), v.end(), greater<int>());
}

int main() {

    return 0;
}
